マイコンでドア開閉を検知してGoogle Homeで通知
---
やること
ドアを2分あけっぱなしにしたらユーザーに通知
sleep秒ごとにn回通知回数をしたら通知を終了。ドアを閉じられるまで待つ
理想
ドアの開閉の検知方法をどうするか?
0.3-2m ±3%
(採用)方法2 磁気センサーを使う
パーツライブラリを作成するということ
外部にあれば
M5Stackのサンプルコード
採用理由
確実にしめられたことがわかりそう
ドアがあいたときに距離が取りづらいレイアウトなのでやりやすそう
ボードの選定
obnizをつかってみたいのでobniz対応基盤から選ぶ
obniz Board 1Y
スリープ機能がある
スリープ中はobniz Board1Yの3.3V系統がシャットダウンされます
購入
⬜磁石
組み立て
⬜M5StickCで遊ぶ
M5StickCにobnizOSをインストールする
obnizの情報をM5StickCで表示する
常駐できるように組み込む
ドア開閉で起動、終わったらスリープする
設置
1Yの電源を用意する
1Yをドアに固定する
--
常駐させる方法
code:js
//loop
distanceObniz.repeat(async () => {
disMillVal = await disSensor.measureWait();
if (disMillVal < DISTANCE_THORESHOLD) {
isOpen = true;
} else {
isOpen = false;
}
if (isOpen !== prevOpen) {
if (isOpen) {
await drawOpenFace(ctx, matrix);
} else {
await drawClosedFace(ctx, matrix);
}
}
prevOpen = isOpen;
}, 1000);
作例
磁石スイッチでドアの開閉を検知したら、obnizはスリープから解除され起動します。そして、起動したらSlackにメッセージを送信し、その後再度スリープを行う仕組みです。
今回の要求はこれを丸パクリする
電源は別途検討
--
M5StickC ENV Hat(販売終了)
obniz側にライブラリがある